# Minimal example using docker compose to run multiple containers
#
# Syncs the docker-compose.yml in the current workdir to the remote cluster and
# runs docker compose up.
#
# Usage:
#   sky launch -c myclus compose_example.yaml
#   sky down myclus

resources:
  accelerators: T4:2

workdir: .

setup: |
  sudo apt-get update
  sudo apt-get install -y ca-certificates curl gnupg
  sudo install -m 0755 -d /etc/apt/keyrings
  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  sudo chmod a+r /etc/apt/keyrings/docker.gpg

  echo \
    "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
    "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  sudo apt-get update
  sudo apt-get install -y docker-compose-plugin

run: |
  docker compose -f docker-compose.yml up
